package com.dscs.mapper;

import com.dscs.domain.Role;
import com.dscs.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 叶雪娟
 * @date 2019/7/17
 **/
@Mapper
public interface UserMapper {
    /**
     * 查询所有用户信息
     */
    List<User> queryAllUser();

    /**
     * 通过多个用户id 查询用户信息
     *
     * @return List<User>
     * @Param ids
     */
    List<User> queryUserByIds(@Param("ids") List<Long> ids);

    /**
     * 通过用户id该用户的信息
     */
    User queryUser(@Param("id") long id);

    /**
     * 插入新用户
     *
     * @return long
     * @Param user
     */
    long insertUser(User user);

    /**
     * 更新用户信息
     *
     * @return long
     * @Param user
     */
    long updateUser(User user);

    /**
     * 根据id删除用户信息
     *
     * @return long
     * @Param id
     */
    long deleteUser(@Param("id") long id);

    List<Role> queryUserRole(@Param("id") Long id);

    /**
     * 查询所有用户信息
     */
    List<User> queryUsersByCondition(User user);


    /**
     * 事务管理：修改用户名字和修改用户年龄
     * */
    long updateUserName(String name);

    long updateUserAge(long age);




}
